package shujia.day04.ketang;

/*
    构造方法：创建对象时所调用的方法
    特点：方法名和类名保持一致，没有返回值，连void都不能有

    注意事项：
        1、如果我们没有自己写构造方法的话，默认JVM会提供一个无参无方法体的构造方法
        2、如果我们自己写了，无论时无参还是有参，JVM将不会再提供默认的构造方法了
        3、构造方法也是方法，也可以发生重载
        4、可以利用构造方法可以传参的特点，对成员变量进行赋值
 */

class Book {
    private String bookName;
    private String author;

    Book(String bookName, String author) {
        this.bookName = bookName;
        this.author = author;
    }

    Book(){

    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public void show() {
        System.out.println("书名：《" + this.bookName + "》, 作者：" + this.author);
    }
}

public class BookDemo {
    public static void main(String[] args) {
        Book book = new Book();
        book.show();
//        book.setBookName("活着");
//        book.setAuthor("余华");
//        book.show();


//        Book book2 = new Book("你好");
        Book b = new Book("三国演义", "罗贯中");
        b.show();
    }
}
